package com.vf.user.mapper;

import java.util.List;

import com.vf.user.domain.Tags;
import com.vf.user.domain.UserTags;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 用户和标签绑定Mapper接口
 * 
 * @author LBS
 * @date 2025-06-04
 */
@Mapper
public interface UserTagsMapper 
{
    /**
     * 查询用户和标签绑定
     * 
     * @param userId 用户和标签绑定主键
     * @return 用户和标签绑定
     */
    public UserTags selectUserTagsByUserId(Long userId);

    /**
     * 查询用户和标签绑定列表
     * 
     * @param userTags 用户和标签绑定
     * @return 用户和标签绑定集合
     */
    public List<UserTags> selectUserTagsList(UserTags userTags);

    /**
     * 新增用户和标签绑定
     * 
     * @param userTags 用户和标签绑定
     * @return 结果
     */
    public int insertUserTags(UserTags userTags);

    /**
     * 修改用户和标签绑定
     * 
     * @param userTags 用户和标签绑定
     * @return 结果
     */
    public int updateUserTags(UserTags userTags);

    /**
     * 删除用户和标签绑定
     * 
     * @param userId 用户和标签绑定主键
     * @return 结果
     */
    public int deleteUserTagsByUserId(Long userId);

    /**
     * 批量删除用户和标签绑定
     * 
     * @param userIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteUserTagsByUserIds(Long[] userIds);

    int insert(@Param("userId") Long userId,@Param("list") List<Long> tags1);

    List<Long> getTags(List<String> tags);

    int deleteUserTagsById(@Param("userId")Long id);
}
